import Storage from './Storage';
import {
	AsyncStorage
}from 'react-native';
class StorageUser{
	constructor(props){
        this._UserData = {};
        this._UserData.phone = '';
        this._UserData.token = '';
        this._UserData.typeId = 0;
        this._UserData.userId = 0;
        this._UserData.userName = '';
        this._UserData.infoList = [];
        this._UserData.shopName = '';
        this._UserData.shopId = '';
        this._UserData.submitShopId = '';
        this._UserData.shopImage = '';
        this._UserData.status = 0;
        this._initData();
    }
    _initData(){
    	var $this = this;
    	// alert(111)
    	storage.load({
            key:'user',
            autoSync:true,
            syncInBackground:true,
        }).then(ret=>{
            thisData = ret;
            $this._UserData = thisData;
        }).catch(err => {
            console.log(err);
        });
    }
	_userUpdata(){
		var thisData = this._UserData;
		Storage.save({
			key:'user',
			data:thisData
		}).then(ret=>{
        }).catch(err => {
            console.log(err);
        });
	}
	_getUser(){
		return(
			Storage.load({
				key: 'user',    
			    // autoSync(默认为true)意味着在没有找到数据或数据过期时自动调用相应的sync方法
			    autoSync: false,
			    // syncInBackground(默认为true)意味着如果数据过期，
			    // 在调用sync方法的同时先返回已经过期的数据。
			    // 设置为false的话，则始终强制返回sync方法提供的最新数据(当然会需要更多等待时间)。
			    syncInBackground: true,
			})
			// .then(ret=>{
			// 	console.log(ret)
			// 	alert(JSON.stringify(ret))
			// }).catch(err => {
	  // 	      //如果没有找到数据且没有同步方法，
	  // 	         //或者有其他异常，则在catch中返回
	  // 	         // alert(00);
	  // 	         alert(JSON.stringify(err))
	  // 	         console.log(err);
	  // 	    })
		)
	}
	_saveUser(data){
		var obj = this._UserData;
		if (data.token) {
			obj.token = data.token;
		}
		if (data.phone) {
			obj.phone = data.phone;
		}
		if (data.typeId) {
			obj.typeId = data.typeId;
		}
		if (data.userId) {
			obj.userId = data.userId;
		}
		if (data.userName) {
			obj.userName = data.userName;
		}
		if (data.infoList) {
			obj.infoList = data.infoList;
		}
		if (data.shopName) {
			obj.shopName = data.shopName;
		}
		if (data.shopId) {
			obj.shopId = data.shopId;
		}
		if (data.shopImage) {
			obj.shopImage = data.shopImage;
		}
		if(data.status){
			obj.status = data.status;
		}
		if(data.submitShopId){
			obj.submitShopId = data.submitShopId;
		}
		// if(data.rootData) {
		// 	obj.rootData = data.rootData;
		// }
		this._UserData = obj;
		this._userUpdata();
		// alert(JSON.stringify(obj))
	}
	_remove(){
		Storage.remove({key:'user'});
	}
}

module.exports = new StorageUser();